1. Field of the Invention
The present invention relates to a method for decoding video blocks in video pictures, and more particularly, to an apparatus and related method for decoding a video block by selecting N motion vectors from M motion vectors, the M motion vectors corresponding to at least a video block of at least a reference area
2. Description of the Prior Art
In video decoding, taking the MPEG (Moving Picture Coding Experts Group) specification as an example, the encoding methods of a video picture include intra coding, predictive coding and bi-directionally predictive coding. An intra picture (I picture) is a video picture encoded independently, i.e. one that can be decoded directly without referencing any previous video picture or future video picture during the video decoding process. A predictive picture (P picture) is a video picture whose decoding process needs to reference a previous video picture in the temporal domain, such as an intra picture or a predictive picture. Additionally, a bi-directionally predictive picture (B picture) is a video picture whose decoding process needs to reference both a previous video picture and a future video picture in the temporal domain.
Because the video pictures referenced when decoding predictive pictures or bi-directionally predictive pictures are buffered in the memory, a huge amount of video picture data may be accessed when video decoding is performed upon a group of macroblocks. In a worst case, if all macroblocks in a bi-directionally predictive picture need to reference both previous and future video pictures when being decoded, required reference video blocks must be read from the memory for motion compensation. The over-consumption of the memory bandwidth will degrade the overall system performance.
To solve the above problems, conventional schemes mainly focus on the influences caused by macroblock decoding requiring both previous and future video pictures. One conventional scheme modifies the decoding of a macroblock that needs to reference both previous and future video pictures so it only references one of the video pictures. Regarding the worst case, each macroblock of a bi-directionally predictive picture should have two motion vectors originally, which are respectively corresponding to a previous reference video block and a future reference video block used for motion compensation; however, after employing the above conventional scheme, the decoding of each macroblock uses only one motion vector corresponding to either the previous video block or the future video block. Even though the conventional scheme can decrease the decoding accuracy of the video picture and influence the final video quality, it can greatly alleviate the bandwidth consumption problem of the memory.
For the current video block to be decoded, when selecting one of the two reference video blocks to be used for motion compensation, the conventional scheme compares time intervals between the current video block to be decoded and two reference video blocks in order to make the decision. For instance, when the time interval between a previous reference video block and the current video block to be decoded is shorter than that between a future reference video block and the current video block to be decoded, only the motion vector corresponding to the previous reference video block is reserved. That is, the previous reference video block is deemed more accurate than the future reference video block. The drawback of the conventional scheme is that the reference video block having a shorter time interval from the current video block to be decoded is not guaranteed to have higher picture accuracy. Thus, the present invention proposes a decoding scheme that can solve the problem of bandwidth over-consumption and offer higher picture accuracy at the same time.